package com.kyrie.system.druid;

import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

/***
 * 描述: 读取数据源类型配置文件
 *
 * @author wuxiang
 * @date 2020-04-17 00:33
 */
@SuppressWarnings("serial")
@ConfigurationProperties(prefix = "kyrie.datasource-config")
public class DatasourceProperty implements Serializable {
    /**
     * 单一数据源
     */
    public static final String DATASOURCE_TYPE_SINGLE = "single";
    /**
     * 路由数据源
     */
    public static final String DATASOURCE_TYPE_ROUTING = "routing";
    /**
     * 路由数据源+读写分离
     */
    public static final String DATASOURCE_TYPE_ROUTING_READWRITE = "routingreadwrite";
    /**
     * 分布式事务数据源
     */
    public static final String DATASOURCE_TYPE_JTA = "jta";
    /**
     * 数据源类型（single,routing,routing&readwrite)三种
     */
    private String type;
    /**
     * 需要获取的数据源配置，如有多个请用逗号(,)分隔
     */
    private String name;
    /**
     * 如果数据源类型为routingreadwrite,则此属性会有效，以此前缀来区分service操作是否为写操作
     * 多个前缀请用逗号(,)分隔
     */
    private String prefix;

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getPrefix() {
        return prefix;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
